package com.ruoyi.web.xxj.service;

import java.math.BigDecimal;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ruoyi.web.xxj.domain.PaymentInfo;
import com.ruoyi.web.xxj.domain.vo.EachMonthSumObj;
import com.ruoyi.web.xxj.domain.vo.PaymentInfoVo;

/**
 * 支付流水Service接口
 *
 * @author ruoyi
 * @date 2024-01-27
 */
public interface IPaymentInfoService {
    /**
     * 查询支付流水
     *
     * @param id 支付流水主键
     * @return 支付流水
     */
    public PaymentInfo selectPaymentInfoById(Long id);

    /**
     * 查询支付流水列表
     *
     * @param paymentInfo 支付流水
     * @return 支付流水集合
     */
    public List<PaymentInfoVo> selectPaymentInfoList(PaymentInfo paymentInfo);

    /**
     * 新增支付流水
     *
     * @param paymentInfo 支付流水
     * @return 结果
     */
    public int insertPaymentInfo(PaymentInfo paymentInfo);

    /**
     * 修改支付流水
     *
     * @param paymentInfo 支付流水
     * @return 结果
     */
    public int updatePaymentInfo(PaymentInfo paymentInfo);

    /**
     * 批量删除支付流水
     *
     * @param ids 需要删除的支付流水主键集合
     * @return 结果
     */
    public int deletePaymentInfoByIds(Long[] ids);

    /**
     * 删除支付流水信息
     *
     * @param id 支付流水主键
     * @return 结果
     */
    public int deletePaymentInfoById(Long id);

    public BigDecimal getToYearPayment();

    public List<EachMonthSumObj> getEachMonthPayment(@Param("type") String type);
}
